Techniques for tracking communication frequency across communication modalities

ABSTRACT

In on embodiment, techniques for providing alerts to a user when a communication frequency pattern between a user and a contact has not occurred during a pre-determined amount of time are provided. Communication records between the contact and the user can be analyzed to determine if the communication frequency pattern with the contact during the pre-determined amount of time does not meet pre-determined criteria. For example, the criteria may be generate an alert if communications do not occur in the last month, generate an alert if less than five communications occur in the last six months, or any other communication pattern. Also, the content of a communication may be analyzed to determine if a certain topic has been discussed. If a certain topic has not been discussed during the pre-determined amount of time, an alert may also be generated reminding the user that the topic has not been discussed.

BACKGROUND OF THE INVENTION

Embodiments of the present invention relate in general to electroniccommunication systems and more specifically to techniques for generatingan alert upon detection of a change in communication behavior betweenparties.

It is as important as ever to maintain a social network of personalcontacts. A vital part of human nature is to be able to rely on othersfor support, information, entertainment and enlightenment. Socialnetworks play major roles in business and education and also contributeto one's well-being and happiness. The best networks are often builtupon trust between pairs of people so that one's reliance on the otherdoes not go unmet and leads to a common goal.

However, it is probably more difficult than ever to maintain one'ssocial network. This is due in part to the many types of electroniccommunication that are available today. For example, communicationoptions include email, chat, instant messaging (IM), posting to bulletinboards, blogs, wikis, Internet Protocol (IP) based voice over IP (VoIP)phones, etc. Often, the many and varied communication options availablemake it very difficult to know how to reach another person. Also, theease and speed with which messages are sent can require a person torespond to many messages each day in order to maintain a social network.Not only does this create a lot of work, it also can cause inadvertenterrors or omissions such as failing to respond to another's inquiry,request or simple friendly salutation—the failure of which may causeinsecurity, or a loss of faith or trust in the sender with regard to thesilent recipient and thus can diminish a social network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a unified messaging system environment according to oneembodiment of the present invention.

FIG. 2 depicts a simplified system for tracking communication frequencyaccording to one embodiment of the present invention.

FIG. 3 depicts various methods of storing communication records instorage according to one embodiment of the present invention.

FIG. 4 depicts a simplified flow chart of a method for trackingcommunication frequency according to one embodiment of the presentinvention.

FIG. 5 depicts a simplified flow chart of a method for tracking when nocommunication frequency has been found across modalities according toone embodiment of the present invention.

FIG. 6 depicts a simplified flow chart of a method for analyzing contentof communication records to determine if an alert should be generatedaccording to one embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Embodiments of the present invention provide alerts to a user when apattern of communication between a user and a contact has not occurredduring a pre-determined amount of time. Communication records betweenthe contact and the user can be analyzed to determine if a communicationfrequency pattern with the contact during the pre-determined amount oftime does not meet pre-determined criteria. For example, the criteriamay be: generate an alert if communications do not occur in the lastmonth, generate an alert if less than five communications occur in thelast six months, etc.

Also, embodiments of the present invention may analyze the content of acommunication to determine if a certain topic has been discussed. If acertain topic has not been discussed during the pre-determined amount oftime, an alert may also be generated reminding the user that the topichas not been discussed.

Communication records are analyzed for a plurality of communicationmodalities. A modality refers to a “mode” of communication. A modalitycan be distinguished by data format, type of signal, physical link orinfrastructure, or other characteristic of a communication. For example,email, telephone, VoIP, instant messaging, chat, web posting, web pagedisplaying, faxing, paging, etc., can each be considered a “modality.”Also, a modality may be broken up into sub-modalities, such as instantmessaging may be broken up into AOL AIM™, MSN Messenger™, and Yahoo! IMmodalities.

The communication records for communications across the modalities maybe stored for a user and analyzed for frequency of communicationchanges. The communication records may be any information for acommunication and may include a call history, stored messages, etc. Inone embodiment, a unified messaging system may be used to store thecommunication records. Although using a unified messaging system isdescribed, it will be understood that other systems may be used. Forexample, systems for aggregating messages across non-enterprisemodalities may be used.

FIG. 1 depicts a unified messaging environment 50 according to oneembodiment of the present invention. Although the following unifiedmessaging environment 50 is described, it will be recognized thatvariations of the environment will be appreciated by a person skilled inthe art. As shown, a unified messaging system 10 and differentcommunication modalities are provided.

In one embodiment, a unified messaging system (UMS) 10 provides a singleaccess point for messages for a user regardless of the message type andthe message origination (e.g., communication modality). For example,unified messaging system 10 may deliver emails, voicemails, instantmessages, short message service (SMS) messages, and facsimile messagesto a single inbox, such as a user's email box. Thus, the user can checkall messages from a single point. Using unified messaging, the user canlisten to his/her email over the telephone, check voice messages throughtheir email inbox, view a fax through his/her email inbox, etc.

Various communication modalities are shown in environment 50. Thevarious communication modalities may store communication records onvarious storage media. A communication record may be any record of acommunication. The communication record may be an actual message that issent or received. A modality refers to a “mode” of communication. Amodality can be distinguished by data format, type of signal, physicallink or infrastructure, or other characteristic of a communication. Forexample, email, telephone, VoIP, instant messaging, chat, web posting,web page displaying, faxing, paging, etc., can each be considered a“modality.” Also, a modality may be broken up into sub-modalities, suchas instant messaging may be broken up into AOL AIM™, MSN Messenger™, andYahoo! IM modalities.

The various communication modalities may store messages on variousstorage media. Also, it may be a history of communications, such as acall history from an end device 16. The communication record may includethe content of the message and also other identifying information, suchas the sender, recipient, subject, header information, etc. In somecases, text-to-speech and speech-to-text converters may be used. Forexample, an email message may be converted into voice using aspeech-to-text converter. Also, the email message may be stored and thenthe conversion is performed in real-time when the voice representationof the email message is needed.

Various end points 16 in environment 50 may be used to send messages toa user. End points 16 may include any devices that can communicate in amodality, such as a cell phone 16-1, a POTS phone 16-2, a computer 16-3,a personal digital assistant 16-4, an IM client 16-5, a router, etc.

As shown, a cell phone 16-1 may be used to send voice messages through acellular network 14. The voice messages may be managed by voicemailserver 12.

Also, a POTS phone 16-2 may be used to leave or send voice messagesthrough a PBX system 18. Another modality may be a facsimile modality.As shown, a FAX machine 22 may send a FAX to the user stored in FAXstorage 23.

Other communication modalities may use the Internet to communicate.Although the Internet is described, any packet-based network may beused, such as any local area network, wide area network, wirelessnetwork, etc. Email, voicemail, web pages, instant messages, etc. may besent through Internet 30. As shown, instant messages may be stored on anIM server 24, emails may be stored on an email server 26, and web pagesmay be stored on a web server 28. End devices of a computer 16-3, PDA16-4, IM client 16-5, or any other end device may be used to sendmessages to the user or used by the user to send messages to contacts.IP phone 16-6 is used to make voice over IP (VoIP) calls. A call manager29 is used to manage the calls and any messages (e.g., voice messages)for the IP phone modality.

Although the above modalities are described, it will be understood thatother communication modalities may be appreciated by persons skilled inthe art. For example, unified messaging system 10 may access messagesfrom enterprise modalities. An enterprise modality may be any modalitycontrolled by an enterprise (e.g., a business or company). Examplesinclude an enterprise's email, voicemail, etc. Although enterprisemodalities are described, it will be understood that unified messagingsystem 10 may access non-enterprise messages. Also, techniques describedbelow allow non-enterprise messages to be accessed.

Unified messaging system 10 is configured to aggregate communicationrecords from various media into storage 32. Although it is describedthat communication records are stored in storage 32, it will berecognized that communication records do not have to be physicallystored in a single storage device. For example, voice communicationrecords may be stored on an email server. Also email communicationrecords, instant messages, etc. may be stored on a voicemail server,etc. Thus, messages may be stored in multiple storage areas (i.e.,distributed). However, for discussion purposes, it is assumed thatcommunication records from various modalities will be discussed as beingstored in storage 32. For example, communication records stored on IMserver 24, email server 26, voicemail server 12, fax storage 23, and webserver 28 may be logically aggregated by unified messaging system 10,but will be described as being stored in storage 32.

A client 34 may be used to view the communication records aggregated byunified messaging system 10. For example, a personal computer may beused to view email messages, voice messages, and faxes in an emailinbox.

Embodiments of the present invention track communications between a userand the user's contacts. For example, communication records are storedfor messages sent by a user or sent to the user using any of thecommunication modalities described above with respect to system 50.Also, embodiments of the present invention are not restricted to usingthe unified messaging system 10 for aggregating communication records.Other methods, such as using manual entry or downloading ofcommunication history from non-enterprise clients of the user, may beused to aggregate communication records.

FIG. 2 depicts a simplified system 200 for tracking communicationfrequency according to one embodiment of the present invention. Asshown, a communication manager module (CMM) 202 is provided for managingthe frequency of a user's contact with contacts. In one embodiment,communication manager module 202 is part of unified messaging system 10.However, it will be recognized that communication manager module 202 maybe part of any communication system that has access to a user'scommunication records.

Communication manager module 202 includes an interface module thatprovides an interface to allow a user to set which alerts are desired. Agraphical-user interface and a telephone-user interface may be providedsuch that users can set reminders from a variety of end devices 16. Forexample, a user may select contacts from a contact list in which theuser would like to be notified if the user's communication frequencypattern has not achieved a predetermined communication frequency patternfor a certain amount of time.

The communication frequency pattern may be checked across multiplemodalities. Also, it will be recognized that a communication frequencypattern may be applied to specific modalities. For example, if the userhas not sent an email to a contact after a certain amount of time buthas sent an instant message, an alert may be generated that says theuser has not sent an email but has sent an instant message.

A contact may be any user. Also, a contact may be identified differentlyacross different communication modalities. Because of the differentidentifiers, the contact may be identified using a universal identifier.For example, the contact may be identified by the user's full name. Thename may then also be associated with certain contact numbers, such as atelephone number, email address, instant message username, etc. Forexample, if the contact is named “Fred Mahoney”, then the contactinformation for the contact may include a telephone number “415 5555555”, the email address “freddie@gmail.com”, the instant messagingusername “Freddie on AOL Messenger”, etc. In this way, communicationmanager module 202 may intelligently determine which communications fora user are sent to the contact (or received from the contact).

Also, a mapping may be used. The mapping may map identifiers acrossdifferent modalities to each other. For example, a username in an emailmodality is mapped to a username in an instant message modality.

Once the alerts are set, a communication record monitor 204 isconfigured to determine when a communication frequency pattern betweenthe user and the contact has not occurred for the pre-determined amountof time. The communication frequency pattern may be any pattern ofinformation. For example, the communication frequency pattern mayinclude a communication frequency, i.e., a pattern of a number of timesof communication between the user and the contact. Also, thecommunication frequency pattern may include discussion of a topic. Forexample, a user and contact may communication with each other but maynot discuss a topic. The pattern may specify a frequency and also that atopic should be discussed.

Communication record monitor 204 may monitor communication recordsstored in storage 32. The communication records may include a callhistory, stored messages (e.g., email messages, instant messages,voicemails, etc.), or other records. If the communication frequencypattern does not reach a predetermined threshold (e.g., the contact wasnot communicated with enough or a topic was not discussed during thepre-determined amount of time), an indication is sent to an alertgenerator 210.

Alert generator 210 is configured to generate an alert for the userindicating that the communication frequency pattern has not beenachieved. For example, the message may say “Reminder: Joe has not beencontacted in a month”. This reminds the user that a communicationfrequency pattern was not achieved during a certain amount of time.

In one embodiment, a user may set preferences as to how the user shouldbe alerted. For example, if the contact is a very important contact,then the communication method may be through an instant message orcellular phone call. However, if the contact is low priority, an emailmessage may be sent to the user.

As discussed above, different methods for storing communication recordsin storage 32 may be appreciated. FIG. 3 depicts various methods ofstoring communication records in storage 32 according to one embodimentof the present invention. As shown, communication manager module 202 isconfigured to store communication records in storage 32 in addition torecords stored by unified messaging system 10. Although communicationmanager module 202 is described as being separate from unified messagingsystem 10, it will be understood that communication manager module 202may be part of unified messaging system 10 and vice versa. Also, thefunctions performed by communication manager module 202 and unifiedmessaging system 10 may be distributed between the entities.

In one embodiment, the following techniques may be used to storenon-enterprise communication records. For example, unified messagingsystem 10 may have access to communication records of an enterprise.Unified messaging system 10 then can access communication records forcommunications using enterprise modalities, such as an enterprise emailaddress, an enterprise voicemail system, an enterprise instant messageclient, etc. However, non-enterprise communications may not beaccessible by system 10. For example, unified messaging system 10 maynot be able to access messages from a user's home email address or avoice messages from a user's cellular phone. Accordingly, embodiments ofthe present invention provide access to communication records fromnon-enterprise modalities.

An agent 302 may be downloaded by a client 306 of the user. Client 306may be any of the end devices 16 shown in FIG. 1. For example, the agent302 may be downloaded on a user's personal computer 16-3, PDA 16-4,cellular phone 16-1, or any other end device 16.

Agent 302 may be configured to record a user's communication history onclient 306. The communication history may include communications to theuser from contacts and from the user. Agent 302 may track the number ofcommunications and communication times for the communications. Also, thelast communication time between the user and the contact on instantmessaging, or the last email communication with the contact using apublic email system, such as Google's gmail™, may be tracked if the userwants to be alerted when no communications occur during a time period.

Communication manager module 202 then receives a download of thecommunication history from agent 302. The time of the communications inaddition to possibly the content may be downloaded to communicationmanager module 202. For example, client 306 may be a cellular telephonein which the call history is sent to communication manager module 202through a secure data channel. If client 306 is a VoIP client, any VoIPcommunication records may be downloaded to communication manager module202 by agent 302.

Also, outside sources 304 may be used to aggregate communication recordsbetween a user and a contact. For example, outside sources 304 may beany entities that may aggregate communication records for a user. Manypublic messaging and telephony systems may provide information thatincludes a user's call history. For example, a telephony company's website may provide a user's call history, which can be downloaded orviewed.

Communication manager module 202 may log on to the website and downloadthe call history from an outside source 304. For example, communicationmanager module 202 may receive the user's credentials to his/heraccount. Communication manager module 202 may then periodically log into the user's account using those credentials and download his/her callhistory using techniques, such as screen scrapping or any othertechniques necessary. For example, communication manager module 202 maylog on to a cellular telephone account and download the call history fora user's cellular telephone. Further, communication manager module 202may log on to a non-enterprise email system, such as Gmail™, anddownload a status of emails in a user's account.

Further, a user may manually enter information for a communication. Forexample, a face-to-face meeting may not generate any automatic writtenrecords. Thus, a user may use a client 306 to manually enter that aface-to-face meeting with a contact has occurred. This may be used totrack any kind of contact that communication manager module 202 cannotautomatically retrieve.

As discussed above, to ensure mapping between communication records fora contact submitted by agent 302 and various other systems, such as theunified messaging system 10, a mapping may be used. For example, for acontact, the user may add various identifiers that map communicationrecords downloaded by agent 302, outside sources 304, and manuallyentered records to a universal identifier for a contact in storage 32.

FIG. 4 depicts a simplified flow chart 400 of a method for trackingcommunication frequency according to one embodiment of the presentinvention. In step 402, a communication frequency pattern between a userand a contact is received. The pattern may generate an alert if nocommunication is received, which will be described in more detail below,or may be more complicated, such as generate an alert if a number ofcommunications in multiple modalities do not reach a frequency during atime period, such as once a week for a month. Also, the discussion of atopic may be included in the pattern, such as a topic should bediscussed in a communication during the time period.

In step 404, the communication records across multiple modalities aremonitored to determine if the communication frequency pattern is notachieved. In step 406, if the pattern is achieved, then the processreiterates to step 404 to continue monitoring for possibly another timeperiod. The analysis may include any methods to determine if the patternreaches a predetermined threshold. For example, the number ofcommunications between a contact and a user may be compared to a number.If the number is not reached, then the pattern is not achieved.

In step 408, if the pattern is not achieved, then the user is alertedthat the communication frequency pattern has not been achieved.

An exemplary embodiment of the method depicted in FIG. 4 is shown inFIGS. 5 and 6. FIG. 5 depicts a simplified flow chart 500 of a methodfor tracking communication frequency according to one embodiment of thepresent invention. In step 502, communication manager module 202receives an indication of a contact to monitor. For example, the usermay select a contact from a personal contact list. The indication may bea universal identifier for the contact. Also, the indication may be anidentifier in a communication modality. Communication manager module 202may then determine other identifiers in other communication modalitieseither by using the universal identifier or other mappings.

In step 504, communication manager module 202 receives a time period andcommunication frequency pattern for monitoring. The time period mayspecify an elapsed time, a certain date, or any other time information.The communication frequency pattern may be a number of times ofcommunication. For example, the pattern may specify that Ncommunications should occur in the time period.

In step 506, communication manager module 202 determines if the timeperiod has elapsed. If the time period has not elapsed, the processreiterates to continue the monitoring.

If the time period has elapsed, in step 508, communication managermodule 202 determines if a communication record in a modality indicatesthe communication frequency pattern has been achieved during the timeperiod. If N communications were specified, the number of communicationsmay include a communication from the user to the contact, from thecontact to the user, or both. A user's preferences may indicate if oneor other, or both should be used. If the communication frequency patternhas been achieved, then the process may end or may continue to determineif a topic was discussed in the communications (as described in FIG. 6).This depends on a user's preferences.

If the communication frequency pattern has not been achieved, then, instep 510, communication manager module 202 generates an alert. In step512, communication manager module 202 determines how to send the alertto the user. For example, different communication modalities may be useddepending on the contact. Also, if multiple time periods have elapsedand the user still has not contacted the contact, even if alerts havepreviously been sent, then a more urgent communication alert may be sentusing a communication modality.

In step 514, communication manager module 202 sends the alert to theuser.

Even if the communication frequency pattern has been achieved, an alertmay still be generated by communication manager module 202 if a topichas not been discussed. FIG. 6 depicts a simplified flow chart 600 of amethod for analyzing content of communication records to determine if analert should be generated according to one embodiment of the presentinvention. In step 602, communications records for a contact are parsed.The communication records may be parsed using a variety of techniques.For example, natural language semantic parsers and topic detectiontechniques may be used to parse the communications.

In one embodiment, in step 604, the parsing may be used to determine ifa topic has been discussed in the communication records. A topic may beany category of information. For example, a topic may be a certainsubject, such as a birthday.

In step 606, communication manager module 202 determines if the topichas been discussed in the pre-determined time period. Thus, even thoughcommunications between the user and the contact may have occurred, thetopic may or may not have been discussed. If the topic has beendiscussed, then in step 607, an alert does not need to be generated.

In step 608, if the topic has not been discussed within the time period,however, then an alert is generated. This is because even though acommunication may have occurred, the communications did not occur on thedesired topic.

In step 610, the alert is then sent as described in steps 410 and 412 ofFIG. 4. The alert may indicate that a topic has not been discussed withthe contact during a time period.

One example of how the process of FIG. 6 may be used is if a user wantsto set a reminder if the user does not wish Happy Birthday to his/herMom on October 10th by 8:00 p.m., an alert should be generated.Communication manager module 202 then may generate an alert if it doesnot detect a birthday greeting in any monitored communication betweenthe user and his/her Mom by the specified date. Accordingly,communication records between user and his/her Mom may be parsed todetermine if the term “Happy Birthday” (or any other information thatindicates a birthday was discussed) is included in communications to theMom. This may indicate that the topic of a birthday may have beendiscussed.

Many communication modalities may be monitored to determine if userwished Happy Birthday to his/her Mom. For example, communication recordsfor instant messaging, email, voicemail, etc. may be monitored. Thisprovides additional intelligent processing. If the user has alreadyspoken with his/her Mom but has not wished her Happy Birthday, then areminder will be sent. In one embodiment, a communication frequencypattern may use the topic in its pattern. Thus, user can intelligentlydetermine when a contact should be contacted and also when a topic hasnot been discussed.

Embodiments of the present invention provide many advantages. Forexample, intelligent reminders may be set for the maximum time elapsedbetween communications for users. Also, the communications are trackedacross multiple modalities. Thus, communications across phone, email,instant messaging, etc. may be tracked together.

Further, communication history from both enterprise and public messagingsystems may be tracked and stored. This allows a complete solution fordetermining whether a reminder should be sent.

Communication manager module 202 may add to the revenue of an enterpriseby ensuring regular communication with potential customers and businesspartners. Also, communication manager module 202 alleviates redundantcommunications to a contact when a user forgets the last time usercommunicated with the contact. Embodiments of the present inventionenhance social networking and also enable users to not lose contact withothers in an easy and intelligent way.

The term “contacting” and variants thereof (e.g., connecting,connection, connect) as used in this disclosure are intended to beconstrued broadly. For example, contacting user may be achieved by usingany type of communication link, mode, signal type, protocol, format,etc., as desired. Any number and type of devices can be used to achievethe contacting of a user.

Although the invention has been described with respect to specificembodiments thereof, these embodiments are merely illustrative, and notrestrictive of the invention.

Any suitable programming language can be used to implement the routinesof embodiments of the present invention including C, C++, Java, assemblylanguage, etc. Different programming techniques can be employed such asprocedural or object oriented. The routines can execute on a singleprocessing device or multiple processors. Although the steps,operations, or computations may be presented in a specific order, thisorder may be changed in different embodiments. In some embodiments,multiple steps shown as sequential in this specification can beperformed at the same time. The sequence of operations described hereincan be interrupted, suspended, or otherwise controlled by anotherprocess, such as an operating system, kernel, etc. The routines canoperate in an operating system environment or as stand-alone routinesoccupying all, or a substantial part, of the system processing.Functions can be performed in hardware, software, or a combination ofboth. Unless otherwise stated, functions may also be performed manually,in whole or in part.

In the description herein, numerous specific details are provided, suchas examples of components and/or methods, to provide a thoroughunderstanding of embodiments of the present invention. One skilled inthe relevant art will recognize, however, that an embodiment of theinvention can be practiced without one or more of the specific details,or with other apparatus, systems, assemblies, methods, components,materials, parts, and/or the like. In other instances, well-knownstructures, materials, or operations are not specifically shown ordescribed in detail to avoid obscuring aspects of embodiments of thepresent invention.

A “computer-readable medium” for purposes of embodiments of the presentinvention may be any medium that can contain and store the program foruse by or in connection with the instruction execution system,apparatus, system or device. The computer readable medium can be, by wayof example only but not by limitation, a semiconductor system,apparatus, system, device, or computer memory.

Embodiments of the present invention can be implemented in the form ofcontrol logic in software or hardware or a combination of both. Thecontrol logic may be stored in an information storage medium, such as acomputer-readable medium, as a plurality of instructions adapted todirect an information processing device to perform a set of stepsdisclosed in embodiments of the present invention. Based on thedisclosure and teachings provided herein, a person of ordinary skill inthe art will appreciate other ways and/or methods to implement thepresent invention.

A “processor” or “process” includes any hardware and/or software system,mechanism or component that processes data, signals or otherinformation. A processor can include a system with a general-purposecentral processing unit, multiple processing units, dedicated circuitryfor achieving functionality, or other systems. Processing need not belimited to a geographic location, or have temporal limitations. Forexample, a processor can perform its functions in “real time,”“offline,” in a “batch mode,” etc. Portions of processing can beperformed at different times and at different locations, by different(or the same) processing systems.

Reference throughout this specification to “one embodiment”, “anembodiment”, or “a specific embodiment” means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention and notnecessarily in all embodiments. Thus, respective appearances of thephrases “in one embodiment”, “in an embodiment”, or “in a specificembodiment” in various places throughout this specification are notnecessarily referring to the same embodiment. Furthermore, theparticular features, structures, or characteristics of any specificembodiment of the present invention may be combined in any suitablemanner with one or more other embodiments. It is to be understood thatother variations and modifications of the embodiments of the presentinvention described and illustrated herein are possible in light of theteachings herein and are to be considered as part of the spirit andscope of the present invention.

Embodiments of the invention may be implemented by using a programmedgeneral purpose digital computer, by using application specificintegrated circuits, programmable logic devices, field programmable gatearrays, optical, chemical, biological, quantum or nanoengineeredsystems, components and mechanisms may be used. In general, thefunctions of embodiments of the present invention can be achieved by anymeans as is known in the art. Distributed, or networked systems,components, and circuits can be used. Communication, or transfer, ofdata may be wired, wireless, or by any other means.

It will also be appreciated that one or more of the elements depicted inthe drawings/figures can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application. It isalso within the spirit and scope of the present invention to implement aprogram or code that can be stored in a machine-readable medium topermit a computer to perform any of the methods described above.

Additionally, any signal arrows in the drawings/Figures should beconsidered only as exemplary, and not limiting, unless otherwisespecifically noted. Furthermore, the term “or” as used herein isgenerally intended to mean “and/or” unless otherwise indicated.Combinations of components or steps will also be considered as beingnoted, where terminology is foreseen as rendering the ability toseparate or combine is unclear.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise.

The foregoing description of illustrated embodiments of the presentinvention, including what is described in the Abstract, is not intendedto be exhaustive or to limit the invention to the precise formsdisclosed herein. While specific embodiments of, and examples for, theinvention are described herein for illustrative purposes only, variousequivalent modifications are possible within the spirit and scope of thepresent invention, as those skilled in the relevant art will recognizeand appreciate. As indicated, these modifications may be made to thepresent invention in light of the foregoing description of illustratedembodiments of the present invention and are to be included within thespirit and scope of the present invention.

Thus, while the present invention has been described herein withreference to particular embodiments thereof, a latitude of modification,various changes and substitutions are intended in the foregoingdisclosures, and it will be appreciated that in some instances somefeatures of embodiments of the invention will be employed without acorresponding use of other features without departing from the scope andspirit of the invention as set forth. Therefore, many modifications maybe made to adapt a particular situation or material to the essentialscope and spirit of the present invention. It is intended that theinvention not be limited to the particular terms used in followingclaims and/or to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but that the inventionwill include any and all embodiments and equivalents falling within thescope of the appended claims.

1. A method comprising: establishing a predetermined communicationfrequency pattern between first and second users; determining firstrecords of enterprise communications for the first user communicatedwith an enterprise system, the first records being communicated in atleast two modalities over one or more devices, a modality being a modeof communication, and wherein the first records are accessible to theenterprise system associated with an entity; sending an agent to a firstdevice to monitor non-enterprise communications for the first user, thenon-enterprise communications being communicated in at least twomodalities over one or more devices not accessible to the enterprisesystem; receiving second records of non-enterprise communications fromthe agent at a second device controlled by the enterprise system;measuring a communication frequency pattern using the first records ofthe enterprise communications and second records of the non-enterprisecommunications; and alerting at least one of the first and second userswhen the measured communication frequency pattern between the first andsecond users in at least two modalities over the one or more devices ofthe enterprise system and the non-enterprise system does not achieve apredetermined relationship with respect to the predeterminedcommunication frequency pattern.
 2. The method of claim 1, whereinestablishing the predetermined communication frequency pattern includesexpected transmissions over time.
 3. The method of claim 2, furthercomprising determining when a predetermined interval of time passes,wherein a count of transmissions occurring in the predetermined intervalis less than a value derived from the expected transmissions over time.4. The method of claim 3, wherein the count of transmissions over thepredetermined interval is zero.
 5. The method of claim 1, whereinestablishing the predetermined communication frequency pattern includesdiscussion of a topic over a time period, the method further comprising:analyzing the first records of enterprise communications and secondrecords of non-enterprise communications to determine if the topic isdiscussed in the first or second records; and alerting at least one ofthe first and second users when the topic is not discussed over the timeperiod.
 6. The method of claim 5, further comprising determining whentime period passes, wherein a count of discussions of the topicoccurring in the time period less than a value derived from thediscussions of the topic over time triggers the alerting.
 7. The methodof claim 1, wherein the alert includes information about a transmissionbetween the first and second users.
 8. The method of claim 1, furthercomprising: accepting a signal from a user input device; and using, atleast in part, the signal from the user input device to set thecommunication frequency pattern.
 9. The method of claim 1, whereinmonitoring communications comprises monitoring communication informationreceived from a manual input from the user.
 10. A method comprising:accessing communication records for a contact of a user, thecommunication records comprising first records and second records,wherein the first records are of enterprise communications for the usercommunicated with an enterprise system, the first records beingcommunicated in at least two modalities over one or more devices, amodality being a mode of communication, and wherein the first recordsare accessible to the enterprise system, the enterprise systemassociated with an entity, wherein the second records are ofnon-enterprise communications received at a second device controlled bythe enterprise system from an agent sent to a first device to monitornon-enterprise communications for the user, the non-enterprisecommunications being communicated in at least two modalities over one ormore devices not accessible to the enterprise system; determining fromthe first records and the second records of the communication records ifa communication between the contact and the user has occurred for apredetermined amount of time in at least two modalities over the one ormore devices of the enterprise system and the non-enterprise system; ifa communication between the user and the contact has not occurred duringthe predetermined amount of time, performing the steps of: generating analert for the user; and sending the alert to the user such that the useris notified that a communication with the contact has not occurred forthe amount of time.
 11. The method of claim 10, wherein if acommunication between the contact and the user has occurred, performingthe steps of: analyzing the first records of enterprise communicationsand second records of non-enterprise communications to determine if thetopic is discussed in the first or second records; and alerting at leastone of the first and second users when the topic is not discussed overthe time period.
 12. The method of claim 10, wherein the at least twomodalities accessible to the enterprise or not accessible to theenterprise comprise at least two modalities selected from the set of anemail modality, a facsimile modality, a voicemail modality, a webmodality, and an instant message modality.
 13. The method of claim 10,further comprising storing the communication records in one or morestorage devices.
 14. The method of claim 13, wherein the communicationrecords are stored by a unified messaging system.
 15. The method ofclaim 10, wherein the communications records are received from a manualinput from the user.
 16. The method of claim 10, wherein the contactcomprises an identifier for a second user.
 17. The method of claim 16,wherein the identifier is a universal identifier that is mapped to aplurality of identifiers in the plurality of communication modalities.18. A device comprising: logic configured to establish a predeterminedcommunication frequency pattern between first and second users; logicconfigured to determine first records of enterprise communications forthe first user communicated with an enterprise system, the first recordsbeing communicated in at least two modalities over one or more devices,a modality being a mode of communication, and wherein the first recordsare accessible to the enterprise system associated with an entity; logicconfigured to send an agent to a first device to monitor non-enterprisecommunications for the first user, the non-enterprise communicationsbeing communicated in at least two modalities over one or more devicesnot accessible to the enterprise system; logic configured to receivesecond records of non-enterprise communications from the agent at asecond device controlled by the enterprise system; logic configured tomeasure a communication frequency pattern using the first records of theenterprise communications and second records of the non-enterprisecommunications; and logic configured to alert at least one of the firstand second users when the measured communication frequency patternbetween the first and second users in at least two modalities over theone or more devices of the enterprise system and the non-enterprisesystem does not achieve a predetermined relationship with respect to thepredetermined communication frequency pattern.
 19. The device of claim18, wherein the predetermined communication frequency pattern includesexpected transmissions over time.
 20. The device of claim 18, furthercomprising logic configured to determine when a predetermined intervalof time passes, wherein a count of transmissions occurring in thepredetermined interval is less than a value derived from the expectedtransmissions over time.
 21. The device of claim 20, wherein the countof transmissions over the predetermined interval is zero.
 22. The deviceof claim 18, wherein the predetermined communication frequency patternincludes discussion of a topic over a time period, the logic furtherconfigured to: analyze the first records of enterprise communicationsand second records of non-enterprise communications to determine if thetopic is discussed in the first or second records; and alert at leastone of the first and second users when the topic is not discussed overthe time period.
 23. The device of claim 22, further comprising logicconfigured to determining when the time period passes, wherein a countof discussions of the topic occurring in the time period less than avalue derived from the discussions of the topic over time triggers thealerting.
 24. The device of claim 18, wherein the alert includesinformation about a transmission between the first and second users. 25.The device of claim 18, further comprising: logic configured to accept asignal from a user input device; and logic configured to use, at leastin part, the signal from the user input device to set the predeterminedcommunication frequency pattern.
 26. The device of claim 18, whereinmonitoring communications comprises monitoring communication informationreceived from a manual input from the user.
 27. A device comprising:logic configured to access communication records for a contact of auser, the communication records comprising first records and secondrecords, wherein the first records are of enterprise communications forthe user communicated with an enterprise system, the first records beingcommunicated in at least two modalities over one or more devices, amodality being a mode of communication, and wherein the first recordsare accessible to the enterprise system associated with an entity,wherein the second records are of non-enterprise communications receivedat a second device controlled by the enterprise system from an agentsent to a first device to monitor non-enterprise communications for theuser, the non-enterprise communications being communicated in at leasttwo modalities not accessible to the enterprise system; logic configuredto determine from the communication records if a communication betweenthe contact and the user has occurred for a predetermined amount of timein at least two modalities over the one or more devices of theenterprise system and the non-enterprise system; if a communicationbetween the user and the contact has not occurred during thepredetermined amount of time, the device comprising: logic configured togenerate an alert for the user; and logic configured to send the alertto the user such that the user is notified that a communication with thecontact has not occurred for the amount of time.
 28. The device of claim27, wherein if a communication between the contact and the user hasoccurred, the device further comprising: logic configured to analyzecontent of the communication; and logic configured to determine if analert should be generated based on the analysis of the content.
 29. Thedevice of claim 28, wherein the alert is generated when it is determinedthat a topic has not been discussed in the content.
 30. The device ofclaim 27, wherein the at least two communication modalities accessibleto the enterprise or not accessible to the enterprise comprise at leasttwo modalities selected from the set of an email modality, a facsimilemodality, a voicemail modality, a web modality, and an instant messagemodality.
 31. The device of claim 27, further comprising logicconfigured to store the communication records in one or more storagedevices.
 32. The device of claim 31, wherein the communication recordsare stored by a unified messaging system.
 33. The device of claim 27,wherein the communications records are received from a manual input fromthe user.
 34. The device of claim 27, wherein the contact comprises anidentifier for a second user.
 35. The device of claim 34, wherein theidentifier is a universal identifier that is mapped to a plurality ofidentifiers in the plurality of communication modalities.
 36. A systemcomprising: a first set of end devices associated with a first user,wherein the first set of end devices comprise one or more enterprise enddevices configured to communicate on an enterprise system associatedwith an entity and one or more non-enterprise end devices configured tocommunicate in at least two modalities not accessible to the enterprisesystem; and a communication manager module comprising: logic configuredto establish a predetermined communication frequency pattern between thefirst user and a second user; logic configured to determine firstrecords of enterprise communications for the first user communicatedwith one or more enterprise end devices in the first set in anenterprise system and communicated in at least two modalities over oneor more devices, a modality being a mode of communication, and whereinthe first records are accessible to the enterprise system; logicconfigured to send one or more agents to the one or more non-enterpriseend devices to monitor non-enterprise communications for the first useron one or more non-enterprise end devices, the non-enterprisecommunications being communicated in at least two modalities over one ormore devices not accessible to the enterprise system; logic configuredto receive second records of non-enterprise communications from theagent at a second device controlled by the enterprise system; logicconfigured to measure a communication frequency pattern using the firstrecords of the enterprise communications and second records of thenon-enterprise communications; and logic configured to alert the firstuser and/or the second user when the measured communication frequencypattern between the first and second users in at least two modalitiesover the one or more devices of the enterprise system and thenon-enterprise system does not achieve a predetermined relationship withrespect to the predetermined communication frequency pattern.
 37. Thesystem of claim 36, further comprising a second set of end devicesassociated with the second user, wherein end devices in the second setof end devices are configured to communicate in a plurality ofcommunication modalities.
 38. The system of claim 37, wherein a firstend device in the first set of end devices is configured tocommunication in a communication modality in the plurality ofcommunication modalities with a second end device in the second set ofend devices.
 39. The system of claim 36, wherein the first set of enddevices comprise an email device, cellular telephone, facsimile device,instant message device, or POTS telephone.
 40. A system comprising: afirst set of end devices associated with a first user, wherein the firstset of end devices comprise one or more enterprise end devicesconfigured to communicate on an enterprise system associated with anentity and one or more non-enterprise end devices configured tocommunicate in at least two modalities not accessible to the enterprisesystem; and a communication manager module comprising: logic configuredto access communication records for a contact of a user, thecommunication records comprising first records and second records,wherein the first records are of enterprise communications for the usercommunicated with the one or more enterprise end devices on theenterprise system and communicated in at least two modalities over oneor more devices, a modality being a mode of communication, and whereinthe first records are accessible to the enterprise system, wherein thesecond records are of non-enterprise communications received at a seconddevice controlled by the enterprise system from one or more agents sentto the one or more non-enterprise devices to monitor non-enterprisecommunications for the user, the non-enterprise communications beingcommunicated in at least two modalities over one or more devices notaccessible to the enterprise system; logic configured to determine fromthe communication records if a communication between the contact and theuser has occurred for a predetermined amount of time; if a communicationbetween the user and the contact has not occurred during thepredetermined amount of time, the communication manager module furthercomprising: logic configured to generate an alert for the user; andlogic configured to send the alert to the user such that the user isnotified that a communication with the contact has not occurred for theamount of time in at least two modalities over the one or more devicesof the enterprise system and the non-enterprise system.
 41. The systemof claim 40, further comprising a second set of end devices associatedwith the contact, wherein end devices in the second set of end devicesare configured to communicate in at least two modalities accessible tothe enterprise or not accessible to the enterprise.
 42. The system ofclaim 41, wherein a first end device in the first set of end devices isconfigured to communicate in a modality in the at least twocommunication modalities accessible to the enterprise or not accessibleto the enterprise with a second end device in the second set of enddevices.
 43. The system of claim 40, wherein the first set of enddevices comprise an email device, cellular telephone, facsimile device,instant message device, or POTS telephone.